Speech quality is an important factor for telephony system suppliers. The demand from the customers makes it vital to strive for continuous improvements of the systems. An echo, which is a delayed version of what was originally transmitted, is regarded as a severe distraction to the speaker if the delay is long. For short round trip delays of less than approximately 20 ms, the speaker will not be able to distinguish the echo from the side tone in the handset. However, for long-distance communications, such as satellite communications, a remotely generated echo signal often has a substantial delay. Moreover, the speech and channel coding compulsory in digital radio communications systems and for telephony over the Internet protocol (IP telephony, for short) also result in significant delays which makes the echoes generated a relatively short distance away clearly audible to the speaker. Hence, canceling the echo is essential in order to maintain the speech quality.
There are different types of echoes that occur in a telephony system. One type is network echo that origins from impedance mismatch in hybrid circuits employed in the public switched telephony network (PSTN). Hybrids are used in order to connect between the two-wire link and four-wire link in the PSTN system. Since it is practically impossible to-perfectly tune the hybrids, the impedance mismatch will result in that some of the incoming speech is reflected back to the talker as a delayed and distorted version of the original speech. The reflected speech is denoted network echo. The occurrence of network echo is illustrated in FIGS. 1 and 2.
Another type of echo is echo originating from the use of hands free equipment with external loudspeaker(s) and microphone(s), so called acoustic echo. This type of echo has the property that the echo path changes continuously due to changes of the environment. The person talking on the phone may most likely change position as least to some extent during the call. The echo path is also highly non-linear, due to the characteristics of the room and the equipment, such as the loudspeakers. The occurrence of acoustic echo is illustrated in FIG. 3.
With the introduction of end-to-end IP telephony, the hybrids in the switches, introducing the network echo, disappear. It can be expected that it will take a considerable time until all telephones are replaced by IP telephones, if ever. Until then it will be necessary to have echo cancellers removing the network echo generated in the PSTN network. Furthermore, as long as digital radio communications networks are interconnected with PSTN networks, echoes generated in the PSTN network will have to be removed. Also, the acoustic echo will always remain, due to its physical connection.
An echo canceller typically includes a linear filtering part which essentially is an adaptive filter that tries to adapt to the echo path. In this way a replica of the echo can be produced that can be removed from the received signal originating from the end at which the echo source is located, thereby canceling the echo. The filter generating the echo replica has a finite or infinite impulse response. Most common it is an adaptive, linear finite impulse response filter (FIR) with a number of delay lines and a corresponding number of coefficients, or filter delay taps. The coefficients are values, which when multiplied with delayed versions of the filter input signal, generate an estimate of the echo. The filter is adapted, i.e. updated, so that the coefficients converge to optimum values. The traditional way to cancel out the echo is to update a finite impulse response (FIR) filter using the normalized least mean square (NLMS) algorithm, although a variety of alternative algorithms exist.
A problem arises from the fact that an entire echo path response includes one part due to signal propagation time, speech and channel coding etc., forming a pure delay, and one part due to the actual echo source. Thus, if the echo replica filter were to model the entire impulse response of the echo path, a great number of coefficients would be needed in order to also handle the included pure delay. This in turn would put very high, and often unrealistic, requirements on memory and computation capabilities for implementing the filter and its operation. Also, the coefficients of such a filter would converge much slower to their optimum values.
Thus, during echo cancellation it is desired that the echo canceller estimates the pure delay of the entire impulse response of the echo path in such way that the filter coefficients are adapted to the part of the entire echo that originates from the actual echo source. This procedure may be described as a time alignment of the filter to the echo source. In this way the number of coefficients of the filter can be kept to a reasonable and practicable level.
U.S. Pat. No. 4,582,963 discloses a method for echo canceling in which a bulk delay is provided separately from adaptive filter delays. Different methods for selecting a suitable bulk delay are described. One method is to detect how long it takes for an echo of a signal transmitted on the receive line of the echo source to occur on the transmit line of the echo source. A number of estimates of the bulk delay is provided and the selected bulk delay is given by the estimate which is most closely clustered with the other estimates. Another method is to iteratively increment the bulk delay, wherein each delay value is combined with the filter to give a measure of adaptation. The bulk delay is then chosen as the delay for which the measure of adaptation approaches a peak value.
U.S. Pat. No. 5,920,548 discloses the configuration of an adaptive filter in such way that only a range of filter taps between two tap endpoints is involved in the echo cancellation operation. All taps less than a first boundary tap serve as a buffer during the echo cancellation operation. The first boundary tap is selected as the tap being a certain number of taps less than a located tap that has a value with predetermined factor greater than a certain predetermined value.